/**
 * Created with IntelliJ IDEA.
 * Description:有序序列合并
 * 输入两个升序排列的序列，将两个序列合并为一个有序序列并输出。
 * 数据范围： 1 \le n, m \le 1000 \1≤n,m≤1000，
 * 序列中的值满足 0 \le val \le 30000 \0≤val≤30000
 * 输入描述：
 * 输入包含三行，
 * 第一行包含两个正整数n, m，用空格分隔。n表示第二行第一个升序序列中数字的个数，
 * m表示第三行第二个升序序列中数字的个数。
 * 第二行包含n个整数，用空格分隔。
 * 第三行包含m个整数，用空格分隔。
 * 输出描述：
 * 输出为一行，输出长度为n+m的升序序列，即长度为n的升序序列和长度为m的升序序列中的元素重新进行升序序列排列合并。
 * 输入：
 * 5 6
 * 1 3 7 9 22
 * 2 8 10 17 33 44
 * 输出：
 * 1 2 3 7 8 9 10 17 22 33 44
 *
 * User: zjc
 * Date: 2022-06-04
 * Time: 23:41
 */
import java.util.Scanner;
import java.util.Arrays;
public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] arr = new int[n + m];
        int index = 0;
        while(sc.hasNextInt()) {
            arr[index++] = sc.nextInt();
        }
        Arrays.sort(arr);
        for(int i = 0 ; i < n + m ; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
